机器人特性
#
机器人命令命令是由开发者预定义的关键字,当用户通过消息向机器人发送机器人所支持的命令时,机器人完成特定的行务,比如签到、接龙等功能。机器人支持的命令由开发者通过“机器人管家”(见下文)进行配置。
机器人命令在私聊中的部分展示 | 机器人命令在私聊中的全部展示 |
---|---|
#
命令的可见性级别开发者需要向特定的用户开放特定的命令,以实现基本的机器人功能权限划分。Fanbook 目前通过将命令的可见性进行分级,实现向不同的用户群开放命令,目前分为以下级别:
- 0 级(公开可见):这是最低的可见性级别,任何人(机器人所有者和普通用户)在任何聊天会话(私聊和频道)中都可以看到该命令。
- 1 级(私聊可见):该级别的命令任何人在与机器人私聊时可见。
- 2 级(所有者可见):仅机器人的创建者可看到该命令。
#
私聊机器人命令列表私聊命令列表是当用户与机器人私聊时,常驻于聊天输入框上方的命令列表(遵守命令的可见性规则)
#
频道机器人命令列表频道机器人命令列表是指当用户在频道聊天输入框中输入 “@机器人” 时临时展示的机器人支持的命令列表(遵守命令的可见性规则)
#
频道快捷命令列表该命令列表是常驻于频道聊天输入框上方的命令列表。当服务器管理员将机器人(一个或多个)加入到服务器时,针对某机器人常用的命令,管理员可选择性地将部分命令放置到频道的聊天输入框上方,令其常驻,方便用户使用,它与“频道机器人命令列表”的不同在于,后者仅当用户 “@机器人” 的时候,被提及的机器人所支持的命令会临时占据输入框上方的命令列表的位置。
#
内联查询当机器开启用内联查询模式后,用户可以直接从聊天中的文本输入栏通过内联查询与您的机器人进行互动。他们只需要 @ 您的机器人的名称,然后输入一个查询。
在收到查询后,您的机器人可以返回一些结果。只要用户点击其中一个,就会发送到用户当前打开的聊天中。这样,人们就可以在任何一个聊天、频道中向你的机器人请求内容。
#
自定义回复键盘当然,传统的聊天机器人可以被教会理解人类语言。但有时您希望用户提供一些更正式的输入,这时自定义键盘就会变得非常有用。
每当你的机器人发送消息时,它可以传递一个带有预定义回复选项的特殊键盘(见 ReplyKeyboardMarkup)。收到消息的机器人将向用户显示你的键盘。点击任何一个按钮都会立即发送相应的命令。这样你就可以大大简化用户与机器人的交互。
目前我们支持为你的按钮添加文字和表情符号。
#
内联键盘 + 消息更新有些时候,您希望在不发送任何消息的情况下进行聊天。例如,当您的用户正在更改设置或翻阅搜索结果时。在这种情况下,您可以使用直接集成到所属消息中的内联键盘。
- 消息更新是一个开放接口,可供机器人开发者调用并更新机器人已发出的消息内容和消息的内联键盘。
- 内联键盘是作为消息的一部分,附着在消息内容下方的可点击按钮矩阵,称为内联键盘。内联键盘依赖消息更新机制才能实现动态的功能。
与自定义回复键盘不同,按下内联键盘上的按钮并不会导致消息发送到聊天中。相反,内联键盘支持在幕后工作的按钮:回调按钮、URL 按钮。
当使用回调按钮时,您的机器人可以更新其现有的消息(或只是消息的键盘),以便聊天保持整洁。
内联键盘示例一 | 内联键盘示例二 |
---|---|
#
传参键盘传闯键盘与自定义键盘的目的相似,都是在当机器人要求用户提供数据时,提高用户的交互体验,例如通过机器人管家的命令来创建机器人的时候,需要用户提供“机器人昵称”和“机器人描述”,昵称和描述就是使用“创建机器人”命令任务所需要的参数,与自定义键盘给出可选项供用户选择的不同之处在于,“昵称”和“描述”是由用户完全自定义的数据,没法提前作为选项给出。有两种方式来实现向用户收集自定义的命令参数,它们分别是:
- 多轮对话:机器通过多次发消息向用户询问获取
- 传参键盘:在调用命令时、在命令发出去前,弹出一个可输入的数据表单供用户一次性输入机器想要的所有参数,点击完成后参数跟在命令后方(命令与参数、参数与参数间以空格隔开)发出去
传参键盘与机器人命令是一对一的,由开发者在创建机器人后通过机器管家在添加命令时进行配置,传参键盘的表现由三部分内容来定义,它们分别是:
- 参数配图(可选):为该参数配的图片,提供展示体验
- 参数名称(可选):该参数的名称
- 参数值(可选):该参数的值
针对以上三部分内容的可选组合,在设置命令参数键盘时,把传参键盘分为两种,它们分别是:
- 表单传参键盘:该传参键盘中的参数没有预设的值,以表单输入框进行展示,要求用户填写信息完点击完成后,立即发出带参的命令
- 选项传参键盘:该传参键盘中的参数有预设的值,以带配图或不带配图的按钮展示,用户不能输入,只需点击按钮,则将预设的值作业参数跟随命令立即发出去
- 带配图的选项传参键盘
- 不带配图的选项传参键盘